#include <iostream>

class CSyntaxParser {
public:
    void syntaxParser() { 
        std::cout << "语法分析中" << std::endl;
    }
};

class CMidCode {
public:
    void midCode() {
        std::cout << "生成中间代码" << std::endl;
    }
};

class CAssembleCode {
public:
    void assembleCode() {
        std::cout << "生成汇编代码" << std::endl;
    }
};

class CLinker { 
public:
    void linker() {
        std::cout << "链接" << std::endl;
    }
};

class Facde { 
public:
    void build() {
        CSyntaxParser syntaxParser;
        CMidCode midCode;
        CAssembleCode assembleCode;
        CLinker linker;
        syntaxParser.syntaxParser();
        midCode.midCode();
        assembleCode.assembleCode();
        linker.linker();
    }
};

int main(int argc, char const *argv[]) {
    Facde facde;
    facde.build();
    return 0;
}
